package com.artqiyi.dollmachine.common.Base;

import android.os.Bundle;

import com.artqiyi.dollmachine.views.widget.MultipleStatusView;


/**
 * @description 此接口用于：
 * 1，规范View层的需要实现的方法；
 * 2，用于V层实现此接口后，P层BasePresenter通过此接口间接持有V层对象，可以将具体Presenter的Subscription交由V层来持有管理。
 */
public interface IBaseView extends MultipleStatusView.OnRetryClickListener {

    /**
     * 配置布局资源
     */
    int getLayoutId();

    /**
     * 初始化view,Activity的onCreate和Fragment的onCreateView中调用
     */
    void initView(Bundle savedInstanceState);


    /**
     * 加载数据
     */
    void loadData();

    /**
     * 可见时加载数据
     */
    void reLoadData();


    /**
     * 如果使用自定义布局，重写此方法，返回true
     */
    boolean setUseLayoutIdCustom();


    MultipleStatusView getMultipleView();

//    CompositeSubscription getCompositeSubscription();

}
